package manager.dao;


import manager.domain.Student;

public class StudentDao {


    private static Student[] arr = new Student[5];


    public static void DeleteStudent(String next) {

    // 2.定义index变量调用getindex(把原始参数继续传递进去)先调用再定义,然后遍历数组
        int index = getIndex(next);
        // 3.把索引用null赋值表示删除
        arr[index] = null;

    }

    private static int getIndex(String next) {
        // 2.定义index变量为-1遍历数组
        int index = -1;
        for (int i = 0; i < arr.length; i++) {
            Student sut = arr[i];
            //判断遍历数组并把不为空的索引和接收到的ID对象进行比较
            if (sut != null && sut.getId().equals(next)) {
                //把相同的ID索引[i]赋值给index ,break   循环结束return变量
                index = i;
                break;
            }

        }
        return index;
    }

    public static void UpdateStudent(String next, Student newstudent) {

      //调用本类中getindex方法(传入要修改的ID对象)方法赋值给新的变量\
        int index = getIndex(next);

        // 2.把获取的要修改的ID索引位置赋值给index 最后把新的学生信息赋值给index索引的数组中
        arr[index] = newstudent;
    }


    public boolean addStudent(Student stut) {

        // 1. 创建学生对象到数组

        // 2. 添加学生到数组

        // 2.1 定义一个变量为index = -1 ,假设数组已经存满,没有null 的元素
        int index = -1;
        //  2.2 遍历数组取出每一个元素,判断是否是null
        for (int i = 0; i < arr.length; i++) {
            //创建学生类的对象
            Student stu = arr[i];
            //判断学生对象中数组中的元素是否为null
            if (stu == null) {//如果为null就把为null的索引赋值给index
                index = i;
                break;
            }
        }
        //  2.4 判断index是否已满等于-1如果等于返回false添加失败  为true添加成功
        if (index == -1) {
            return false;
        } else {
            arr[index] = stut; //把录入的信息存储到数组中 return true给外界
            return true;

        }


    }


    public static Student[] findAllStudent() {

        return arr;
    }

}